﻿//////////////////////////////////////////////////
//                  HandLand.cs                 //
//         Part of RebornCo by kaihaider        //
//////////////////////////////////////////////////

using System.Threading.Tasks;
using ff14bot;
using ff14bot.Enums;
using RebornCo.Settings;
using TreeSharp;

namespace RebornCo.Rotations
{
    public class HandLand : RebornCoRoutine
    {
        public override void OnInitialize()
        {
            WantHealing = false;
            WindowSettings = new CoreSetting();
        }
        public sealed override ClassJobType[] Class
        {
            get
            {
                return new [] 
                { 
                    //Hand
                   ClassJobType.Alchemist, ClassJobType.Armorer, ClassJobType.Blacksmith,
                   ClassJobType.Carpenter, ClassJobType.Culinarian, ClassJobType.Goldsmith, 
                   ClassJobType.Leatherworker, ClassJobType.Weaver,
                   //Land
                   ClassJobType.Botanist, ClassJobType.Fisher, ClassJobType.Miner

                };
            }
        }
        [Behavior(BehaviorType.PreCombatBuffs)]
        public Composite HandLandCreateBasicPreCombatBuffs()
        {
            return new ActionRunCoroutine(ctx => HandLandBuildPreCombatBuffs());
        }
#pragma warning disable 1998
        public static async Task<bool> HandLandBuildPreCombatBuffs()
#pragma warning restore 1998
        {
            //return await CombatCompanion();
            return false;
        }

        [Behavior(BehaviorType.Rest)]
        public Composite HandLandCreateBasicRest()
        {
            return new PrioritySelector(
                new ActionRunCoroutine(ctx => DefaultRestBehavior(Core.Player.CurrentManaPercent))); 
        }


        [Behavior(BehaviorType.CombatBuffs)]
        public Composite HandLandCreateBasicCombatBuffs()
        {
            return new ActionRunCoroutine(ctx => HandLandBuildCombatBuffs()); 
        }
#pragma warning disable 1998
        public static async Task<bool> HandLandBuildCombatBuffs()
#pragma warning restore 1998
        {
            
            return false;
        }


        [Behavior(BehaviorType.Pull)]
        public Composite HandLandCreateBasicPull()
        {
            return new ActionRunCoroutine(ctx => HandLandBuildPullBehavior()); 
        }
#pragma warning disable 1998
        public static async Task<bool> HandLandBuildPullBehavior()
#pragma warning restore 1998
        {
            return false;
        }

        [Behavior(BehaviorType.Combat)]
        public Composite HandLandCreateBasicCombat()
        {
            return new ActionRunCoroutine(ctx => HandLandBuildBasicCombat()); 
        }
#pragma warning disable 1998
        public static async Task<bool> HandLandBuildBasicCombat()
#pragma warning restore 1998
        {
           
            return false;
        }
    }
}
